NHibernate terminology can be a bit cryptic for new users. The NHibernate designer tries to use terminology which is more explicit and easy to understand, at the expense of being different from the underlying NHibernate keywords. This page describes how some NHibernate concepts are surfaced in the designer. If you find yourself asking the NHibernate community for help and you’re using a designer-generated model, be sure to use the NHibernate terminology!
NHibernate term | Designer equivalent |
---|---|
access | Only the default, field and nosetter options are supported (for ‘nosetter’ choose PropertyGetFieldSet). The designer uses the camelcase-underscore naming strategy. |
component | To map multiple columns to a single (record-type) property, use a value object. (The designer doesn’t support component collections.) |
dynamic-insert | To set dynamic-insert=’true’ for an entity, set SaveOptions to include InsertNotNullColumnsOnly. |
dynamic-update | To set dynamic-update=’true’ for an entity, set SaveOptions to include UpdateChangedColumnsOnly. |
inverse | To set inverse=’true’ on the many-to-one side of an association, set Is Dependent to True on the association arrow. |
IUserType | To use an IUserType mapping, create a User Mapped Type (via the NHibernate Model Explorer) and set its Mapping Type to the IUserType. |
lazy (class) | The designer generates entities as lazy by default. To turn this off, set LoadOptions to include LazyFetchDisabled. |
lazy (association) | The designer generates associations as lazy by default. To eager load an association, set Eager Load on the arrow for the direction(s) you want to eager-load. |